package com.easyidea.its.domain.repository.tracklog;

import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.easyidea.its.domain.model.passport.TrackLog;
import com.easyidea.its.domain.repository.base.BaseRepository;
import com.easyidea.its.web.dto.CarSeizureDto;
import com.easyidea.its.web.dto.StatisticsDto;

public interface TrackLogRepository extends BaseRepository<TrackLog> {
	/**
	 * 根据条件获取最近跟踪资料
	 * @param passPortName
	 * @param direction
	 * @param searchLeastRecord TODO
	 * @param tracklogId TODO
	 * @param passTime TODO
	 * @return
	 */
	TrackLog getLatestTrackLogByCondition(String passPortName, String direction, boolean searchLeastRecord, Integer tracklogId, Date passTime);
	/**
	 * 
	 * @param carSeizureDto
	 * @return
	 */
	List<TrackLog> getTrackLogsByCondition(CarSeizureDto carSeizureDto, int startAtIndex, int pageSize);
	/**
	 * 
	 * @param carSeizureDto
	 * @return
	 */
	int getTrackLogsCountByCondition(CarSeizureDto carSeizureDto);
	
	Collection<Object[]> statisticsByCondition(StatisticsDto statisticsDto);
}
